到了這一天,我發現一個問題。AI 雖然可以快速產生程式,但是如果所有程式碼都放在 Main() 裡,程式會變得越來越長。因此今天請 AI 幫我進行「程式碼重構」。把攻擊、回復、查看狀態分別整理成不同的方法。
using System;
class Program
{
static void Attack(ref int enemyHealth)
{
enemyHealth -= 10;
Console.WriteLine("你造成了 10 點傷害!");
}
static void Heal(ref int health)
{
health += 20;
Console.WriteLine("你回復了 20 點生命!");
}
static void ShowStatus(int health, int enemyHealth)
{
Console.WriteLine("玩家生命:" + health);
Console.WriteLine("敵人生命:" + enemyHealth);
}
static void Main()
{
int health = 100;
int enemyHealth = 50;
Attack(ref enemyHealth);
Heal(ref health);
ShowStatus(health, enemyHealth);
}
}
static void Attack(ref int enemyHealth)
建立一個 Attack() 方法。
ref 可以讓方法直接修改原本傳入的變數。
enemyHealth -= 10;
敵人生命值減少 10。
static void Heal(ref int health)
建立一個回復生命的方法。
health += 20;
生命值增加 20。
static void ShowStatus(int health, int enemyHealth)
建立查看狀態的方法,同時接收兩個參數。
Attack(ref enemyHealth);
呼叫攻擊方法。
Heal(ref health);
呼叫回復方法。
今天我學到的並不是新的遊戲功能,而是「如何讓程式更容易閱讀」。AI 可以幫我寫出可以運作的程式,但如果程式碼全部混在一起,之後修改還是會很麻煩。所以除了讓 AI 幫忙生成程式之外,我也可以要求 AI 幫我整理程式結構。但前提還是必須知道方法、參數、變數等基本概念。